/**
 * 文件名：****.java
 * 版权：Copyright Lightkit All Rights Reserved.
 * 描述：*****
 */
package com.lightkits.wms.domain.orderscanner;

import com.lightkits.common.db.entity.event.BdEvent;
import com.lightkits.common.db.entity.event.BdEventRecord;
import com.lightkits.framework.common.model.CheckResult;
import com.lightkits.wms.dto.orderscanner.model.ScannerHeaderDto;
import org.springframework.stereotype.Component;

/**
 * @author jing.wei@hand-china.com
 * @date 2019/6/20 18:40
 **/
@Component
public interface CreateScaEventParams {
    /**
     * 创建事件
     *
     * @param params        调拨发出头请求参数
     * @param eventTypeCode 事件类型编码
     * @return BdEvent
     **/
    CheckResult<BdEvent> createEvent(ScannerHeaderDto params, String eventTypeCode);

    /**
     * 事件快照的创建
     *
     * @param objectType     事件对象类型
     * @param keyValue       事件关键值
     * @param objectId       事件对象ID
     * @param recordType     事件记录类型
     * @param snapShotRecord 事件快照记录，JSON格式保存
     * @return BdEventRecord
     **/
    CheckResult<BdEventRecord> createEventRecord
    (String objectType,
     String keyValue,
     Long objectId,
     String recordType,
     String snapShotRecord);
}
